A modern home potentially has a great number of sophisticated electrical systems, including security systems, audio/video systems, telephone systems, intercom systems, etc. All of these systems require interconnecting wiring. A security system for example, requires wiring between sensors, controllers, and alarm devices. Audio/video systems require a maze of wiring between different active components, as well as wiring to as many as six speakers in a single room. Telephone and intercom systems similarly require wires between stations.
When systems such as these are installed during construction of a new home, wiring can be installed with little trouble. When adding systems to an existing house, however, installation of wiring often requires significant effort.
Because of the difficulty of installing interconnecting wiring in an existing home, there are many available products that utilize existing AC power distribution wires or lines in a house for communications of various types. Products such as these work by modulating a signal on the power lines at a frequency that is well above the conventional 60 Hz frequency of electrical power carried by the distribution lines.
The so-called "X10" protocol is popular for providing simple communications between common electrical components such as security components, switchable power receptacles, dimmers, and other power control modules. The X10 system provides basic functionality between command modules and receivers of various types. In general, however, this system is limited to on/off and dimming capabilities.
A variety of other products are also available. Some home intercoms, for example, modulate an analog audio signal on the power lines to provide audio communications between two different rooms in a house, without requiring dedicated wiring. Extension telephones are available that utilize existing power lines rather than requiring the installation of telephone cable. Adapters are also available for transmitting video and stereo audio over existing power lines in a house.
There are a number of different protocols used for communications over existing building wiring. The relatively simple X10 communications protocol is one example. An X10 signal is composed of a series of 5 volt, 121 kHz pulses having a duration of 1 millisecond, positioned at zero crossings of the 60 Hz AC power signal. Each pulse corresponds to a binary 1, and the absence of a pulse corresponds to a binary 0. A single X10 command consists of a 22 bit word obtained from eleven complete cycles of the AC power signal.
All X10 receivers plugged into the household power lines will see all transmitted signals. However, each command carries the address of its transmitter. A receiver responds to only those commands that have the address of the receiver. Thus, control modules such as switch modules can be paired with receiver modules by manually setting both addresses to the same value. Up to 256 addresses are available. Computer interfaces are available for allowing a computer to issue commands to different X10 receivers over home power lines.
More sophisticated protocols have also been used to communicate using existing power lines. Electrical protocols in most such systems use a modulation carrier that is significantly higher in frequency than 60 Hz. Data formatting in the more sophisticated systems is similar or identical to networking protocols, in which discrete packets of digital information are sent from an originating device to a destination device using a common carrier channel or frequency.
The present invention results from an effort to reduce the complexity and cost of transmitters and receivers used to communicate digital data over electrical power lines. This invention is particularly related to a method of encoding binary data onto a frequency carrier that is modulated between two line states referred to as "mark" and "space" line states. When using such a scheme, it is desirable to maintain a 50% duty cycle between mark and space states. This is desirable to properly bias the receiver's demodulator. Although schemes are available for maintaining a 50% duty cycle with arbitrary data, such schemes typically require a baud rate that is twice that of the actual bit rate. Baud rate is defined as the maximum number of line state changes that occur on a transmission medium in one second--it is the reciprocal of the length (in seconds) of the shortest element in the signaling code, which is referred to as a "baud."
Manchester II or biphase encoding provides a 50% duty cycle by switching polarity on each bit. A logical "1" is transmitted with a signal that is high for one-half a bit period and low for one-half a bit period. Similarly, a logical "0" is transmitted with a signal that is low for one-half a bit period and high for one-half a bit period. Since the data signal spends an equal amount of time in the high a low state, the average value is zero and no DC component is transmitted. This is critical in transformer coupled wired networks such as Ethernet and the MIL-STD-1553B avionics bus systems, to avoid saturation of the transformer. Unfortunately, this encoding method requires twice the bandwidth of codes which transmit only whole bit-period pulses, and so is not efficient for power line transmission.
Another popular code is Miller or MFM coding, used in magnetic media. Miller coding encodes a logical "1" as a transition in the middle of a bit cell. A logical "0" is encoded as no transition, except if the previous value was a zero, in which case the signal switches polarity at the beginning of the bit cell. Miller coding transmits one bit per baud and has no average DC component, but a continuous sequence such as "011011011" can transmit a short-term DC offset. Miller coding has no provisions for synchronization, so it requires a bit clock for recovery and this makes it undesirable for power line transmission.
One significant advantage of the invention is that it maintains a close to 50% duty cycle (worst case duty cycle can be 33%, but average is much closer to 50%) while achieving a bit rate equal to the baud rate. Another advantage is that data can be easily distinguished from noise. It is also self-synchronizing, does not require a clock for demodulation, and provides a special synchronization symbol, so beginnings and endings of messages can be easily detected. These characteristics make a code that is ideal for RF transmission, where bandwidth is limited, demodulation clocks are not available, DC response is difficult to provide, and transmitter/receiver warm up and cool down intervals frequently generate data errors. A further advantage is that the invention allows collision avoidance without requiring dedicated carrier sense circuitry or a dedicated CPU.